import {message} from 'antd';
import {formatMessage} from './intl';

export const newOrUpdateValidator = (data, details) => {
    const emptyErrors = [];
    if(!data || !data.brandId)
        emptyErrors.push(formatMessage({
            id: 'validator.empty.brandId',
            defaultMessage: '品牌'
        }));
    if(!data || !data.dealerId)
        emptyErrors.push(formatMessage({
            id: 'validator.empty.dealerId',
            defaultMessage: '总代'
        }));
    if(!data || !data.claimCode)
        emptyErrors.push(formatMessage({
            id: 'validator.empty.claimCode',
            defaultMessage: '备件索赔单号'
        }));
    if(!data || !data.surveyResults)
        emptyErrors.push(formatMessage({
            id: 'validator.empty.surveyResults',
            defaultMessage: '调查结果'
        }));
    if(!data || !data.preventMeasures)
        emptyErrors.push(formatMessage({
            id: 'validator.empty.preventMeasures',
            defaultMessage: '预防措施'
        }));
    if(!data || !data.treatmentScheme)
        emptyErrors.push(formatMessage({
            id: 'validator.empty.treatmentScheme',
            defaultMessage: '处理方案'
        }));
    if(!data || !data.payType)
        emptyErrors.push(formatMessage({
            id: 'validator.empty.payType',
            defaultMessage: '支付方式'
        }));
    if(emptyErrors.length > 0) {
        message.warning(`${emptyErrors.join('，')}${formatMessage({
            id: 'validator.required',
            defaultMessage: '必填!'
        })}`);
        return false;
    }
    if(details.length <= 0) {
        message.warning(`${emptyErrors.join('，')}${formatMessage({
            id: 'validator.detailRequired',
            defaultMessage: '清单不能为空'
        })}`);
        return false;
    }
    if(details.some(d => !d.claimResult)) {
        message.warning(formatMessage({
            id: 'validator.message.claimResult',
            defaultMessage: '索赔结果必填！'
        }));
        return false;
    }

    if(details.some(d => !d.claimReason)) {
        message.warning(formatMessage({
            id: 'validator.message.claimReason',
            defaultMessage: '索赔原因必填！'
        }));
        return false;
    }
    return true;
};

export const approveValidator = data => {
    const emptyErrors = [];
    if(!data || !data.paymentMethod)
        emptyErrors.push(formatMessage({
            id: 'validator.empty.paymentMethod',
            defaultMessage: '赔付方式'
        }));
    if(emptyErrors.length > 0) {
        message.warning(`${emptyErrors.join('，')}${formatMessage({
            id: 'validator.required',
            defaultMessage: '必填!'
        })}`);
        return false;
    }
    return true;
};
